package org.sgx.gapi.client.apis.pagespeed;

import com.google.gwt.core.client.JavaScriptObject;
/**
 * response example
 *  <pre>"pageStats": {
	"numberResources": 39,
	"numberHosts": 5,
	"totalRequestBytes": "3856",
	"numberStaticResources": 32,
	"htmlResponseBytes": "450561",
	"cssResponseBytes": "9672",
	"imageResponseBytes": "79154",
	"javascriptResponseBytes": "610578",
	"otherResponseBytes": "649",
	"numberJsResources": 16,
	"numberCssResources": 3
},</pre>

Some are numbers and some are strings - I will normalize this always to work with numbers
 * @author sg
 *
 */
public class PageSpeedResultPageStats extends JavaScriptObject{
protected PageSpeedResultPageStats(){}
/**
 * 
 * @return
 */
public native final String numberResources() /*-{
return this["numberResources"]+""; 
}-*/;

/**
 * 
 * @param val
 * @return this - for setter chaining
 */
public native final PageSpeedResultPageStats numberResources(String val) /*-{
this["numberResources"] = val; 
return this; 
}-*/;

/**
 * 
 * @return
 */
public native final String numberHosts() /*-{
return this["numberHosts"]+""; 
}-*/;

/**
 * 
 * @param val
 * @return this - for setter chaining
 */
public native final PageSpeedResultPageStats numberHosts(String val) /*-{
this["numberHosts"] = val; 
return this; 
}-*/;
/**
 * 
 * @return
 */
public native final String totalRequestBytes() /*-{
return this["totalRequestBytes"]+""; 
}-*/;

/**
 * 
 * @param val
 * @return this - for setter chaining
 */
public native final PageSpeedResultPageStats totalRequestBytes(String val) /*-{
this["totalRequestBytes"] = val; 
return this; 
}-*/;

/**
 * 
 * @return
 */
public native final String numberStaticResources() /*-{
return this["numberStaticResources"]+""; 
}-*/;

/**
 * 
 * @param val
 * @return this - for setter chaining
 */
public native final PageSpeedResultPageStats numberStaticResources(String val) /*-{
this["numberStaticResources"] = val; 
return this; 
}-*/;

/**
 * 
 * @return
 */
public native final String htmlResponseBytes() /*-{
return this["htmlResponseBytes"]+""; 
}-*/;

/**
 * 
 * @param val
 * @return this - for setter chaining
 */
public native final PageSpeedResultPageStats htmlResponseBytes(String val) /*-{
this["htmlResponseBytes"] = val; 
return this; 
}-*/;

/**
 * 
 * @return
 */
public native final String cssResponseBytes() /*-{
return this["cssResponseBytes"]+""; 
}-*/;

/**
 * 
 * @param val
 * @return this - for setter chaining
 */
public native final PageSpeedResultPageStats cssResponseBytes(String val) /*-{
this["cssResponseBytes"] = val; 
return this; 
}-*/;

/**
 * 
 * @return
 */
public native final String imageResponseBytes() /*-{
return this["imageResponseBytes"]+""; 
}-*/;

/**
 * 
 * @param val
 * @return this - for setter chaining
 */
public native final PageSpeedResultPageStats imageResponseBytes(String val) /*-{
this["imageResponseBytes"] = val; 
return this; 
}-*/;

/**
 * 
 * @return
 */
public native final String javascriptResponseBytes() /*-{
return this["javascriptResponseBytes"]; 
}-*/;

/**
 * 
 * @param val
 * @return this - for setter chaining
 */
public native final PageSpeedResultPageStats javascriptResponseBytes(String val) /*-{
this["javascriptResponseBytes"] = val; 
return this; 
}-*/;

/**
 * 
 * @return
 */
public native final String otherResponseBytes() /*-{
return this["otherResponseBytes"]+""; 
}-*/;

/**
 * 
 * @param val
 * @return this - for setter chaining
 */
public native final PageSpeedResultPageStats otherResponseBytes(String val) /*-{
this["otherResponseBytes"] = val; 
return this; 
}-*/;

/**
 * 
 * @return
 */
public native final String numberJsResources() /*-{
return this["numberJsResources"]+""; 
}-*/;

/**
 * 
 * @param val
 * @return this - for setter chaining
 */
public native final PageSpeedResultPageStats numberJsResources(String val) /*-{
this["numberJsResources"] = val; 
return this; 
}-*/;

/**
 * 
 * @return
 */
public native final String numberCssResources() /*-{
return this["numberCssResources"]+""; 
}-*/;

/**
 * 
 * @param val
 * @return this - for setter chaining
 */
public native final PageSpeedResultPageStats numberCssResources(String val) /*-{
this["numberCssResources"] = val; 
return this; 
}-*/;
}
